package com.example.mall.service.impl;


import com.example.mall.mapper.AttributeMapper;
import com.example.mall.pojo.Attribute;
import com.example.mall.service.AttributeService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@AllArgsConstructor
public class AttributeServiceImpl implements AttributeService {

    AttributeMapper attributeMapper;

    @Override
    public List<Attribute> getAttribute(Integer catId) {
        List<Attribute> attribute = attributeMapper.selectById(catId);
        if(attribute==null){
            return null;
        }
        return attribute;
    }

    @Override
    public List<Attribute> getAttributeByOnly(Integer cateId) {
        List<Attribute> attributes = attributeMapper.selectByOnly(cateId);
        return attributes;
    }

    @Override
    public Boolean addAttribute(String attr_name, String attr_sel,Short cat_id) {
        int i = attributeMapper.insertAttr(attr_name,  attr_sel,cat_id);
        if(i==1){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public Attribute getAttributeByAid( Integer catId) {
        Attribute attribute = attributeMapper.selectByAttrId(catId);
        if(attribute==null){
            return null;
        }
        return attribute;
    }

    @Override
    public Attribute getAttributeByAidOnly(Integer catId) {
        Attribute attribute = attributeMapper.selectByAttrIdOnly(catId);
        if(attribute==null){
            return null;
        }
        return attribute;
    }

    @Override
    public Boolean updateAttrById(String name, Integer catId) {
        int update = attributeMapper.update(name, catId);
        if(update==1){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public Boolean updateAttrByOnly(String name,String attr_vals, Integer catId) {
        int i = attributeMapper.updateByOnly(name,attr_vals, catId);
        if(i==1){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public Boolean deleteAttrById(Integer catId) {
        int delete = attributeMapper.delete(catId);
        if(delete==1){
            return  true;
        }
        return false;
    }

    @Override
    public Attribute getAttributeName(String name) {
        Attribute attribute = attributeMapper.selectByName(name);
        if(attribute==null){
            return  null;
        }
        return attribute;
    }

    @Override
    public Attribute getAttributeNameOnly(String name) {
        Attribute attribute = attributeMapper.selectByNameOnly(name);
        if(attribute==null){
            return  null;
        }
        return attribute;
    }


}
